package com.cxb.internalcommon.dto;

import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author 陈晓波
 * @since 2024-08-08
 */

@Data
public class OrderInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    /**
     * 乘客id
     */
    private Long passengerId;

    /**
     * 乘客手机号
     */
    private String passengerPhone;

    /**
     * 司机id
     */
    private Long driverId;

    /**
     * 司机手机号
     */
    private String driverPhone;

    /**
     * 车辆id
     */
    private Long carId;

    /**
     * 发起地行政区划代码
     */
    private String address;

    /**
     * 订单发起时间
     */
    private LocalDateTime orderTime;

    /**
     * 预计启程时间
     */
    private LocalDateTime departTime;

    /**
     * 启程地点
     */
    private String departure;

    /**
     * 出发点经度
     */
    private String depLongitude;

    /**
     * 出发点纬度
     */
    private String depLatitude;

    /**
     * 目的地
     */
    private String destination;

    /**
     * 目的地经度
     */
    private String destLongitude;

    /**
     * 目的地纬度
     */
    private String destLatitude;

    /**
     * 坐标加密标识 1：gcj-02,2:wgs84,3:bd-09,4:cgcs2000北斗 0:其他
     */
    private Integer encrypt;

    /**
     * 运价类型编码
     */
    private String fareType;

    //运价版本
    private Integer fareVersion;
    /**
     * 接单时车辆经度
     */
    private String receiveOrderCarLongitude;

    /**
     * 接单时车辆纬度
     */
    private String receiveOrderCarLatitude;

    /**
     * 接单时间，派单成功时间
     */
    private LocalDateTime receiveOrderTime;

    /**
     * 机动车驾驶号
     */
    private String licenseId;

    /**
     * 车辆号牌
     */
    private String vehicleNo;

    /**
     * 司机去接乘客出发时间
     */
    private LocalDateTime toPickUpPassengerTime;

    /**
     * 去接乘客时，司机的经度
     */
    private String toPickUpPassengerLongitude;

    /**
     * 去接乘客时，司机的纬度
     */
    private String toPickUpPassengerLatitude;

    /**
     * 去接乘客时，司机的位置
     */
    private String toPickUpPassengerAddress;

    /**
     * 司机达到上车点时间
     */
    private LocalDateTime driverArrivedDepartureTime;

    /**
     * 乘客上车时间
     */
    private LocalDateTime pickUpPassengerTime;

    /**
     * 乘客上车经度
     */
    private String pickUpPassengerLongitude;

    /**
     * 乘客上车时的纬度
     */
    private String pickUpPassnegerLatitude;

    /**
     * 乘客下车时间
     */
    private LocalDateTime passengerGetoffTime;

    /**
     * 乘客下车时的经度
     */
    private String passengerGetoffLongitude;

    /**
     * 乘客下车时的纬度
     */
    private String passengerGetoffLatitude;

    /**
     * 订单取消时间
     */
    private LocalDateTime cancelTime;

    /**
     * 撤销发起者：1：乘客2：驾驶员3：平台公司
     */
    private Integer cancelOperator;

    /**
     * 撤销类型代码1：乘客提前撤销2.驾驶员提前撤销3.平台公司撤销4.乘客违约撤销5.驾驶员违约撤销
     */
    private Integer cancelTypeCode;

    /**
     * 载客里程（米）
     */
    private Long driverMile;

    /**
     * 载客时间(分）
     */
    private Long driverTime;

    /**
     * 订单状态：1：订单开始2.司机接单 3.去接乘客 4.司机到达乘客起点 5.乘客上车，司机开始行程 6.到达目的地，行程结束，未支付7：发起收款 8：支付完成 9：订单取消
     */
    private Integer orderStatus;

    /**
     * 创建时间
     */
    private LocalDateTime gmtCreate;

    /**
     * 修改时间
     */
    private LocalDateTime gmtModified;

}
